扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
public delegate void TheEvent(int a); public void test() { TheEvent testdel1 = new TheEvent(del1); testdel1(12); } public void del1(int x) { Console.WriteLine("output x : {0}", x); } |
public void test() { TheEvent testdel1 = del1; testdel1(12); } |
delegate void TheEvent2(int a); public void test2() { int a = 12; TheEvent ev2 = delegate(ref int x) { Console.WriteLine("output x : {0}", x); }; ev2( ref a); } |
public static void test3() { int a = 12; int y = 32; TheEvent ev2 = delegate(ref int x) { Console.WriteLine("output x + y : {0}", x + y); }; ev2( ref a); } |
public static void test4() { int a = 12; int y = 32; TheEvent ev2 = delegate(ref int x) { Console.WriteLine("output x + y : {0}", x + y); Thread.Sleep(100); }; //ev2(ref a); IAsyncResult ar = ev2.BeginInvoke(ref a, delegate(IAsyncResult ar2) {Console.Write("Operation finished: {0} on thread ID:{1}, is pool: {2}",ar2.IsCompleted,Thread.CurrentThread.GetHashCode(), Thread.CurrentThread.IsThreadPoolThread);} , null); Console.WriteLine("do some other calculations while counter thread is working"); Console.Write("work status : {0} Main Thread ID:{1}, is pool: {2}", ar.IsCompleted, Thread.CurrentThread.GetHashCode(), Thread.CurrentThread.IsThreadPoolThread); Thread.Sleep(500); ev2.EndInvoke(ref a, ar); } |
婵″倹鐏夐幃銊╂姜鐢瓕鎻╅崚鍥╂畱閹厖绨$憴顤廡妫板棗鐓欓張鈧弬棰侀獓閸濅椒绗岄幎鈧張顖欎繆閹垽绱濋柇锝勭疄鐠併垽妲勯懛鎶姐€婄純鎴炲Η閺堫垶鍋栨禒璺虹殺閺勵垱鍋嶉惃鍕付娴f娊鈧柨绶炴稊瀣╃閵嗭拷